home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / CIncludes / Events.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-29  |  2.7 KB  |  136 lines  |  [TEXT/MPS ]

  1.  
  2. /************************************************************
  3.  
  4. Created: Friday, September 13, 1991 at 12:35 PM
  5.  Events.h
  6.  C Interface to the Macintosh Libraries
  7.  
  8.  
  9.   Copyright Apple Computer, Inc. 1985-1991
  10.   All rights reserved
  11.  
  12. ************************************************************/
  13.  
  14.  
  15. #ifndef __EVENTS__
  16. #define __EVENTS__
  17.  
  18. #ifndef __TYPES__
  19. #include <Types.h>
  20. #endif
  21.  
  22. #ifndef __QUICKDRAW__
  23. #include <Quickdraw.h>
  24. #endif
  25.  
  26.  
  27. enum {
  28.  
  29.  nullEvent = 0,
  30.  mouseDown = 1,
  31.  mouseUp = 2,
  32.  keyDown = 3,
  33.  keyUp = 4,
  34.  autoKey = 5,
  35.  updateEvt = 6,
  36.  diskEvt = 7,
  37.  activateEvt = 8,
  38.  osEvt = 15,
  39.  
  40. /* event mask equates */
  41.  mDownMask = 2,
  42.  mUpMask = 4,
  43.  keyDownMask = 8,
  44.  keyUpMask = 16,
  45.  autoKeyMask = 32,
  46.  updateMask = 64,
  47.  diskMask = 128,
  48.  activMask = 256,
  49.  highLevelEventMask = 1024,
  50.  osMask = -32768
  51. };
  52. enum {
  53.  everyEvent = -1,
  54.  
  55. /* event message equates */
  56.  charCodeMask = 0x000000FF,
  57.  keyCodeMask = 0x0000FF00,
  58.  adbAddrMask = 0x00FF0000,
  59.  osEvtMessageMask = 0xFF000000,
  60.  
  61. /* OS event messages.  Event (sub)code is in the high byte of the message field. */
  62.  mouseMovedMessage = 0xFA,
  63.  suspendResumeMessage = 0x01,
  64.  
  65.  resumeFlag = 1,            /* Bit 0 of message indicates resume vs suspend */
  66.  convertClipboardFlag = 2,    /* Bit 1 in resume message indicates clipboard change */
  67.  
  68. /* modifiers */
  69.  activeFlag = 1,            /* Bit 0 of modifiers for activateEvt and mouseDown events */
  70.  btnState = 128,            /* Bit 7 of low byte is mouse button state */
  71.  cmdKey = 256,                /* Bit 0 */
  72.  shiftKey = 512,            /* Bit 1 */
  73.  alphaLock = 1024,            /* Bit 2 */
  74.  optionKey = 2048,            /* Bit 3 of high byte */
  75.  controlKey = 4096,
  76.  
  77. /* obsolete equates */
  78.  networkEvt = 10,
  79.  driverEvt = 11,
  80.  app1Evt = 12,
  81.  app2Evt = 13
  82. };
  83. enum {
  84.  app3Evt = 14,
  85.  app4Evt = 15,
  86.  networkMask = 1024,
  87.  driverMask = 2048,
  88.  app1Mask = 4096,
  89.  app2Mask = 8192,
  90.  app3Mask = 16384,
  91.  app4Mask = -32768
  92. };
  93.  
  94. struct EventRecord {
  95.  short what;
  96.  long message;
  97.  long when;
  98.  Point where;
  99.  short modifiers;
  100. };
  101.  
  102. typedef struct EventRecord EventRecord;
  103.  
  104.  
  105. typedef long KeyMap[4];
  106.  
  107. #ifdef __cplusplus
  108. extern "C" {
  109. #endif
  110. pascal Boolean GetNextEvent(short eventMask,EventRecord *theEvent)
  111.  = 0xA970; 
  112. pascal Boolean WaitNextEvent(short eventMask,EventRecord *theEvent,unsigned long sleep,
  113.  RgnHandle mouseRgn)
  114.  = 0xA860; 
  115. pascal Boolean EventAvail(short eventMask,EventRecord *theEvent)
  116.  = 0xA971; 
  117. pascal void GetMouse(Point *mouseLoc)
  118.  = 0xA972; 
  119. pascal Boolean Button(void)
  120.  = 0xA974; 
  121. pascal Boolean StillDown(void)
  122.  = 0xA973; 
  123. pascal Boolean WaitMouseUp(void)
  124.  = 0xA977; 
  125. pascal void GetKeys(KeyMap theKeys)
  126.  = 0xA976; 
  127. pascal unsigned long TickCount(void)
  128.  = 0xA975; 
  129. #define GetDblTime() (* (unsigned long*) 0x02F0)
  130. #define GetCaretTime() (* (unsigned long*) 0x02F4)
  131. #ifdef __cplusplus
  132. }
  133. #endif
  134.  
  135. #endif
  136.